package com.myzl.coal.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.myzl.common.annotation.Excel;
import com.myzl.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 统计对象 t_statistics
 *
 * @author myzl
 * @date 2022-11-16
 */
@TableName("t_statistics")
public class Statistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键自增 */
    private Long id;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private Integer deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 统计日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 今年累计体积 */
    @Excel(name = "今年累计体积")
    private BigDecimal currentYearVolume;

    /** 今年累计流量 */
    @Excel(name = "今年累计流量")
    private BigDecimal currentYearFlow;

    /** 去年累计体积 */
    @Excel(name = "去年累计体积")
    private BigDecimal lastYearVolume;

    /** 去年累计流量 */
    @Excel(name = "去年累计流量")
    private BigDecimal lastYearFlow;

    /** 当月累计体积 */
    @Excel(name = "当月累计体积")
    private BigDecimal currentMonthVolume;

    /** 当月累计流量 */
    @Excel(name = "当月累计流量")
    private BigDecimal currentMonthFlow;

    /** 上月累计体积 */
    @Excel(name = "上月累计体积")
    private BigDecimal lastMonthVolume;

    /** 上月累计流量 */
    @Excel(name = "上月累计流量")
    private BigDecimal lastMonthFlow;

    /** 当日累计体积 */
    @Excel(name = "当日累计体积")
    private BigDecimal currentDayVolume;

    /** 当日累计流量 */
    @Excel(name = "当日累计流量")
    private BigDecimal currentDayFlow;

    /** 昨日累计体积 */
    @Excel(name = "昨日累计体积")
    private BigDecimal lastDayVolume;

    /** 昨日累计流量 */
    @Excel(name = "昨日累计流量")
    private BigDecimal lastDayFlow;

    /** 当日早班累计体积 */
    @Excel(name = "当日早班累计体积")
    private BigDecimal currentMorningVolume;

    /** 当日早班累计流量 */
    @Excel(name = "当日早班累计流量")
    private BigDecimal currentMorningFlow;

    /** 昨日早班累计体积 */
    @Excel(name = "昨日早班累计体积")
    private BigDecimal lastMorningVolume;

    /** 昨日早班累计流量 */
    @Excel(name = "昨日早班累计流量")
    private BigDecimal lastMorningFlow;

    /** 当日中班累计体积 */
    @Excel(name = "当日中班累计体积")
    private BigDecimal currentNoonVolume;

    /** 当日中班累计流量 */
    @Excel(name = "当日中班累计流量")
    private BigDecimal currentNoonFlow;

    /** 昨日中班累计体积 */
    @Excel(name = "昨日中班累计体积")
    private BigDecimal lastNoonVolume;

    /** 昨日中班累计流量 */
    @Excel(name = "昨日中班累计流量")
    private BigDecimal lastNoonFlow;

    /** 当日晚班累计体积 */
    @Excel(name = "当日晚班累计体积")
    private BigDecimal currentNightVolume;

    /** 当日晚班累计流量 */
    @Excel(name = "当日晚班累计流量")
    private BigDecimal currentNightFlow;

    /** 昨日晚班累计体积 */
    @Excel(name = "昨日晚班累计体积")
    private BigDecimal lastNightVolume;

    /** 昨日晚班累计流量 */
    @Excel(name = "昨日晚班累计流量")
    private BigDecimal lastNightFlow;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDeviceId(Integer deviceId)
    {
        this.deviceId = deviceId;
    }

    public Integer getDeviceId()
    {
        return deviceId;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public void setDate(Date date)
    {
        this.date = date;
    }

    public Date getDate()
    {
        return date;
    }
    public void setCurrentYearVolume(BigDecimal currentYearVolume)
    {
        this.currentYearVolume = currentYearVolume;
    }

    public BigDecimal getCurrentYearVolume()
    {
        return currentYearVolume;
    }
    public void setCurrentYearFlow(BigDecimal currentYearFlow)
    {
        this.currentYearFlow = currentYearFlow;
    }

    public BigDecimal getCurrentYearFlow()
    {
        return currentYearFlow;
    }
    public void setLastYearVolume(BigDecimal lastYearVolume)
    {
        this.lastYearVolume = lastYearVolume;
    }

    public BigDecimal getLastYearVolume()
    {
        return lastYearVolume;
    }
    public void setLastYearFlow(BigDecimal lastYearFlow)
    {
        this.lastYearFlow = lastYearFlow;
    }

    public BigDecimal getLastYearFlow()
    {
        return lastYearFlow;
    }
    public void setCurrentMonthVolume(BigDecimal currentMonthVolume)
    {
        this.currentMonthVolume = currentMonthVolume;
    }

    public BigDecimal getCurrentMonthVolume()
    {
        return currentMonthVolume;
    }
    public void setCurrentMonthFlow(BigDecimal currentMonthFlow)
    {
        this.currentMonthFlow = currentMonthFlow;
    }

    public BigDecimal getCurrentMonthFlow()
    {
        return currentMonthFlow;
    }
    public void setLastMonthVolume(BigDecimal lastMonthVolume)
    {
        this.lastMonthVolume = lastMonthVolume;
    }

    public BigDecimal getLastMonthVolume()
    {
        return lastMonthVolume;
    }
    public void setLastMonthFlow(BigDecimal lastMonthFlow)
    {
        this.lastMonthFlow = lastMonthFlow;
    }

    public BigDecimal getLastMonthFlow()
    {
        return lastMonthFlow;
    }
    public void setCurrentDayVolume(BigDecimal currentDayVolume)
    {
        this.currentDayVolume = currentDayVolume;
    }

    public BigDecimal getCurrentDayVolume()
    {
        return currentDayVolume;
    }
    public void setCurrentDayFlow(BigDecimal currentDayFlow)
    {
        this.currentDayFlow = currentDayFlow;
    }

    public BigDecimal getCurrentDayFlow()
    {
        return currentDayFlow;
    }
    public void setLastDayVolume(BigDecimal lastDayVolume)
    {
        this.lastDayVolume = lastDayVolume;
    }

    public BigDecimal getLastDayVolume()
    {
        return lastDayVolume;
    }
    public void setLastDayFlow(BigDecimal lastDayFlow)
    {
        this.lastDayFlow = lastDayFlow;
    }

    public BigDecimal getLastDayFlow()
    {
        return lastDayFlow;
    }
    public void setCurrentMorningVolume(BigDecimal currentMorningVolume)
    {
        this.currentMorningVolume = currentMorningVolume;
    }

    public BigDecimal getCurrentMorningVolume()
    {
        return currentMorningVolume;
    }
    public void setCurrentMorningFlow(BigDecimal currentMorningFlow)
    {
        this.currentMorningFlow = currentMorningFlow;
    }

    public BigDecimal getCurrentMorningFlow()
    {
        return currentMorningFlow;
    }
    public void setLastMorningVolume(BigDecimal lastMorningVolume)
    {
        this.lastMorningVolume = lastMorningVolume;
    }

    public BigDecimal getLastMorningVolume()
    {
        return lastMorningVolume;
    }
    public void setLastMorningFlow(BigDecimal lastMorningFlow)
    {
        this.lastMorningFlow = lastMorningFlow;
    }

    public BigDecimal getLastMorningFlow()
    {
        return lastMorningFlow;
    }
    public void setCurrentNoonVolume(BigDecimal currentNoonVolume)
    {
        this.currentNoonVolume = currentNoonVolume;
    }

    public BigDecimal getCurrentNoonVolume()
    {
        return currentNoonVolume;
    }
    public void setCurrentNoonFlow(BigDecimal currentNoonFlow)
    {
        this.currentNoonFlow = currentNoonFlow;
    }

    public BigDecimal getCurrentNoonFlow()
    {
        return currentNoonFlow;
    }
    public void setLastNoonVolume(BigDecimal lastNoonVolume)
    {
        this.lastNoonVolume = lastNoonVolume;
    }

    public BigDecimal getLastNoonVolume()
    {
        return lastNoonVolume;
    }
    public void setLastNoonFlow(BigDecimal lastNoonFlow)
    {
        this.lastNoonFlow = lastNoonFlow;
    }

    public BigDecimal getLastNoonFlow()
    {
        return lastNoonFlow;
    }
    public void setCurrentNightVolume(BigDecimal currentNightVolume)
    {
        this.currentNightVolume = currentNightVolume;
    }

    public BigDecimal getCurrentNightVolume()
    {
        return currentNightVolume;
    }
    public void setCurrentNightFlow(BigDecimal currentNightFlow)
    {
        this.currentNightFlow = currentNightFlow;
    }

    public BigDecimal getCurrentNightFlow()
    {
        return currentNightFlow;
    }
    public void setLastNightVolume(BigDecimal lastNightVolume)
    {
        this.lastNightVolume = lastNightVolume;
    }

    public BigDecimal getLastNightVolume()
    {
        return lastNightVolume;
    }
    public void setLastNightFlow(BigDecimal lastNightFlow)
    {
        this.lastNightFlow = lastNightFlow;
    }

    public BigDecimal getLastNightFlow()
    {
        return lastNightFlow;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deviceId", getDeviceId())
            .append("deviceName", getDeviceName())
            .append("date", getDate())
            .append("currentYearVolume", getCurrentYearVolume())
            .append("currentYearFlow", getCurrentYearFlow())
            .append("lastYearVolume", getLastYearVolume())
            .append("lastYearFlow", getLastYearFlow())
            .append("currentMonthVolume", getCurrentMonthVolume())
            .append("currentMonthFlow", getCurrentMonthFlow())
            .append("lastMonthVolume", getLastMonthVolume())
            .append("lastMonthFlow", getLastMonthFlow())
            .append("currentDayVolume", getCurrentDayVolume())
            .append("currentDayFlow", getCurrentDayFlow())
            .append("lastDayVolume", getLastDayVolume())
            .append("lastDayFlow", getLastDayFlow())
            .append("currentMorningVolume", getCurrentMorningVolume())
            .append("currentMorningFlow", getCurrentMorningFlow())
            .append("lastMorningVolume", getLastMorningVolume())
            .append("lastMorningFlow", getLastMorningFlow())
            .append("currentNoonVolume", getCurrentNoonVolume())
            .append("currentNoonFlow", getCurrentNoonFlow())
            .append("lastNoonVolume", getLastNoonVolume())
            .append("lastNoonFlow", getLastNoonFlow())
            .append("currentNightVolume", getCurrentNightVolume())
            .append("currentNightFlow", getCurrentNightFlow())
            .append("lastNightVolume", getLastNightVolume())
            .append("lastNightFlow", getLastNightFlow())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
